/* 
    express 是node中服务器软件
    通过express可以快速搭建一个web服务器
*/

/* 
    nodemon: 自动监视代码修改， 自动重启服务
    1.下载 npm i nodemon -g
    2.启动nodemon  //默认运行 index.js
        nodemon xxx //运行指定js
*/
// 1.下载ecpress / npm i express

// 2.引入express
const express = require("express")

// 3.创建服务器实例
const app = express()

/*
    中间件：
        app.use() 
 */
// "/" 所有请求都会被拦截 可以省略不写
// app.use("/",(req,res) => {
//     res.send("<h1>坐下和杯茶</h1>")
// })

// /hi 匹配所有以hi开头的请求
// app.use("/hi", (req,res) => {
//     res.send("<h1>坐下吃个饭</h1")
// })

// next 放行 不能等send完了之后在调用
app.use((req,res, next) => {
    // res.send("<h1>11111</h1>")
    // 放行
    next()
})
app.use((req,res, next) => {
    // res.send("<h1>22222222</h1>")
    next()
})
app.use((req,res, next) => {
    // res.send("<h1>33333333333333</h1>")
    next()
})

/* 
    如果希望服务器可以正常访问，需要为服务器设置路由

    app.get post...
*/

app.get("/",(req,res) => {
    //  路由的两个参数
    // 1.访问路径
    // 2.回调函数 req res
        // request 读取用户的请求
        // response 根据用户的请求发送响应
        console.log(req.url); 
    res.send("<h1>欢迎访问</h1>")//设置并发送响应体
    // res.sendStatus(404)向客户端发送状态码
    res.status(200)//设置状态码 但是不发送
   
   
})
app.get("/h1",(req,res) => {
    res.send("<h1>hi~~</h1>")
})


app.use((req,res) => {
    res.send("<h1>你访问的页面去火星取经了</h1>")
})
// 4.启动服务器
//http://localhost:3000/
app.listen(3000, () => {
    console.log("启动成功 \n ---> http://localhost:3000/  \n --->http://127.0.0.1:3000")

})